### IdleIRC
This is a simple ajax frontend with a very small footprint on web servers. IdleIRC uses a IRC backend 
written in PHP to communicate with IRC servers. With that being said, it's not secured by TLS or 
anything like that. This is in working condition!

#### Usage
###### Main features
IdleIRC is meant to be used by just chat commands. With that, it satisfies the need for multi tab
support while keeping multi channel support like IRSSI or weechat. IdleIRC not only acts as a bouncer
for your IRC user, it also supports most commands like other clients and has user accounts to allow
for login and logout without disturbing your client. It can log 24/7! IdleIRC is also extremely simple;
and I'm proud of that. It's versatile, easy to setup, and extremely effecient to use!


###### Commands in IdleIRC
* /focus [channel|user]: Funnel messages to specific channel or user (Alias: /switch; /query)
* /archive: Archive current log file, and clear current chat history.
* /part (channel): Part channel, part focused channel if none specified
* /rejoin (channel): Part, and join a channel; focused channel if none is specified
* /nick [nickname]: Change your nickname
* /list [channel]: List users in a channel
* /usermode [flag(s): Sets MODE flag(s) to user
* /msg [channel|user] [msg]: Message channel, or PM 'user'
* /mode [channel] [flag(s)]: Sets MODE flag(s) for [channel]
* /channel: Prints focused channel / user (Alias: /focused)


###### Accounts and registration
User accounts are registered before client use, and make it easy to use on any PC after setup. IdleIRC
allows you to register an account. It sets up a provided username, salts (md5) your password given and
stores it within a variable within users/(username).php which can be included by IdleIRC when logging in
and verifying client operations via SESSION cookies.

* To create (after setup and installed):
	* Navigate to your IdleIRC URL
	* Click "create one" within the login prompt.
	* Fill forms with username, and password
	* Click "create account"

* To login (first user login):
	* Navigate to IdleIRC URL
	* Fill out login forms
	* Click "login" at bottom of form
	* Click "Connect to server" within the navigation bar up top
		* NOTE: Once connected, you'll stay idle on window close and logout of the web client

* To disconnect IRC bouncer (after first login):
	* Login using above instructions
	* Click "Disconnect from server" within the nav bar
	* Logout using "Logout" within the nav bar


#### Requirements
PHP 5.2+
Read-Write access for working directory


#### Installation
* Do a: git clone https://notabug.org/Pentium44/idleirc OR download the archive and extract it to desired location.
* Customize config.php to your liking, and set your web servers user / group read / write access to idleirc.
* Register an acount, and use it!


#### Changelog
* v1.6.0:
    * Forced a good amount of JS from index.php to core.js
    * User list is live, and working along with web client
    * CSS modifications to dark/light.css for user list
    * Autofill /msg [username] for input box on nickname click in userlist
    * Ignore some IRC server client flags that are not needed in the chat logs. (NAMES, and MOTD EOF lines)

* v1.5.1:
    * Add /archive, allows to keep IRC logs while clearing chat history.
    * Minor fixes / tweaks

* v1.5.0:
    * Polishing up, adding some last minute fixes.
    * Tweaks on irc.php
    * Reconstruct socket chunk parsing, allows for more thorough IRC parsing capability
    * Fix /help missing /msg command.

* v1.4.1:
    * Fix usleep bug where irc.php sleeps for less than a millisecond (lol)

* v1.4.0:
    * CSS cleanup / fixes. Rework CSS theme, and add a light variant.
    * Minor tweaks and bug fixes

* v1.3.3:
    * Tweaked main page from "Connected to:" to "Using:"
    * Keep JS from processing if irc.php is not active.
    * CSS tweaks

* v1.3.2:
    * Fix irc.php private message bug with array.
    * Fix irc.php saving logs in incorrect locations.
    * Add private message and mention notifications via JS Notification.

* v1.3.1:
    * Moved "Clear IRC Logs" to logs page, needed to be done!

* v1.3.0:
    * CSS changes / fixes + cleanup
    * Added server/port set ability on register + settings (Can toggle on or off in config.php as $allowMultiServer == "false")
    * More HTML fixes + cleanup
    * Bugfixes in IRC protocol parsing
    * Added user QUIT parsing to irc.php
    * Removed unneeded ping code from server.php from previous project.
    * Pushed cycle speed up in irc.php for more snappy responses
    * Removed client passed messages from idleirc log
    * Moved all client needed files to users/ directory for better file management

* v1.2.3:
	* CSS fixes and updates
	* HTML format fixes within server.php and irc.php generation
	* Added /usermode & /mode
	* Fixed some PM issues with colons
	* Cleaned up the documentation since its comming to a more so "stable" form

* v1.2.2:
	* CSS updates
	* Added IdleIRC footer
	* Navigation bar modifications
	* Added /channel & /focused
	* Other stuffs

* v1.2.1:
	* Added htmlentities to incoming IRC messages
	* Fixed /list, allows no argument when focused

* v1.2.0:
	* Added /help command for client usage
	* Added /nick, and /list commands
	* Added another session variable for nick name changes
	* Should be rather stable as it sits, need to clean up CSS a bit more

* v1.1.0:
	* Added alias' for /focus (/query, /switch)
	* General cleanup.

* v1.0.0:
	* Functioning web based front end with PHP based backend
	* irc.php performs as an IRC bouncer when web client disconnects
	* Controls to start / stop irc.php within web panel
	* server.php is used by the AJAX frontend to communicate with irc.php
	* Client supports: /join, /msg, and /me currently
	* Multi user support


#### Legal stuff
Licensed via GPLv3
